miRBase

Introduction

The miRBase database is a searchable database of published miRNA sequences and annotation. Each entry in the miRBase Sequence database represents a predicted hairpin portion of a miRNA transcript (termed mir in the database), with information on the location and sequence of the mature miRNA sequence (termed miR). Both hairpin and mature sequences are available for searching and browsing, and entries can also be retrieved by name, keyword, references and annotation. All sequence and annotation data are also available for download.

Result

Row

Table: Detailed information of pre-miRNAs and miRNAs

Row

Categories of miRNA identification

miRNA family sizes and total number of miRNA family

miRNA family sizes

Row

Length distribution

Length and distribution of all miRNAs

Composition of the first base

PmiREN

Introduction

PmiREN (Plant miRNA ENcyclopedia) is a comprehensive functional plant miRNA database. In current version, PmiREN contains 20388 miRNA loci (MIRs) belonging to 5757 families, 1365 clusters, 1668 syntenic blocks and 141327 predicted miRNA-target pairs in 88 species phylogenetically ranging from chlorophytes to angiosperms. In addition, 1537 deeply sequenced small RNA libraries were used in quantification of miRNA expression patterns, and 116 PARE-Seq libraries were employed to validate predicted miRNA-target pairs. PmiREN has many unique features such as annotating miRNAs with an uniform method, solid and extensive information on miRNA synteny, conservation, expression, references, and providing many convenient data accesses, powerful search and download engines. We believe PmiREN is a truly functional knowledgebase and will provide novel insights into plant miRNA research and benefit the whole research community.

Result

Row

Table: Detailed information of pre-miRNAs and miRNAs

Row

miRNA family sizes and total number of miRNA family

miRNA family sizes

Categories of miRNA identification

Row

Length distribution

Length and distribution of all miRNAs

Length and distribution of mature miRNAs

sRNAanno

Introduction

Small RNAs (sRNAs) are essential regulatory molecules in plants. The sRNAanno database hosts a large collection of miRNA, phasiRNA- and hc-siRNA-generating loci annotated from ~140 plants using consistent and high-confident criteria. All the annotations are made freely available to the scientific community via various services and tools.

Result

Row

Table: Detailed information of pre-miRNAs and miRNAs

Row

miRNA family sizes and total number of miRNA family

miRNA family sizes

Categories of miRNA identification

Row

Length distribution

Length and distribution of mature miRNA

Composition of the first base

Plant small RNA genes

Introduction

Small non-coding RNAs between 20 and 24 nucleotides in length function to regulate gene expression, as well as suppress accumulation of viruses. In plants, there are several distinct types of endogenous small RNAs. MicroRNAs (miRNAs) are produced from single-stranded stem-loop RNA precursors, and function to target mRNAs and long non-coding RNAs for post-transcriptional regulation. In plants most miRNAs are 21 or 22 nucleotides in length. Endogenous short interfering RNAs (siRNAs) arise from double-stranded RNA precursors that are frequently produced by endogenous RNA-dependent RNA polymerases. Some siRNAs are 21 or 22 nucleotides long and can function like miRNAs to post-transcriptionally regulate mRNAs. Many more siRNAs are 24 nts in length, and function to target chromatin-associated non-coding RNAs and reinforce repressive chromatin modifcations. MicroRNAs have been well-annotated in many species, but siRNA locus annotations have lagged.

Result

Row

Table: Detailed information of pre-miRNAs and miRNAs

Row

Categories of miRNA identification

Categories of miRNA identification

miRNA family sizes and total number of miRNA family

miRNA family sizes

Row

Length distribution

Length and distribution of all miRNAs

Composition of the first base

---
title: "The available miRNAs in several public databases"
output:
    flexdashboard::flex_dashboard:
        orientation: rows
        vertical_layout: scroll
        social: menu
        source_code: embed
        theme: cosmo
---

```{r setup, include=FALSE}
library(DT)
library(purrr)
library(ggplot2)
library(dplyr)
library(highcharter)
options(stringsAsFactors = F)
knitr::opts_chunk$set(echo = FALSE,
                      message = FALSE,
                      warning = FALSE)
```

```{css, echo=FALSE}
.limitrow .chart-stage {
width:1500px;
overflow-x:scroll;
}

p.seq {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    width: 200px;
    min-width: 0;
    margin: 0;
    font-size: 15px;
}

p.seq:hover {
    overflow: none;
    width: auto;
}
```

Sidebar {.sidebar}
=====================================

There are four public databases containing miRNAs in plants.

1. [miRBase](http://www.mirbase.org)

2. [PmiREN](http://pmiren.com/)

3. [sRNAanno](http://www.plantsrnas.org/)

4. [Plant small RNA gene](https://plantsmallrnagenes.science.psu.edu/index.php)

In this section, we summarize an overview of miRNAs in related databases according to the input species.

miRBase {data-icon=fa-bar-chart}
=====================================

### Introduction

The miRBase database is a searchable database of published miRNA sequences and annotation. Each entry in the miRBase Sequence database represents a predicted hairpin portion of a miRNA transcript (termed mir in the database), with information on the location and sequence of the mature miRNA sequence (termed miR). Both hairpin and mature sequences are available for searching and browsing, and entries can also be retrieved by name, keyword, references and annotation. All sequence and annotation data are also available for download.

### Result

Row
-------------------------------------

### Table: Detailed information of pre-miRNAs and miRNAs {.limitrow}

```{r }
sRNA_data <- read.table("miRBase.txt", sep = "	", header = T)
sRNA_data <- sRNA_data[sRNA_data[,8]<30&sRNA_data[,11]<30, ]
sRNA_data[,3] <- paste0("

", sRNA_data[,3],"

") datatable(data = sRNA_data, extensions = 'Buttons', options = list(dom = "Blfrtip", buttons = list("copy",list(extend = "collection", buttons = c("csv", "excel"), text = "Download")), lengthMenu = list( c(10, 20, -1), c(10, 20, "All")), pageLength = 10, autoWidth = TRUE), rownames = FALSE, escape = FALSE, class = 'compact nowrap stripe hover')%>% formatStyle(TRUE, `text-align` = 'center') ``` Row ------------------------------------- ### Categories of miRNA identification ```{r} name_col_two <- as.data.frame(table(sRNA_data[,12])) name_col_two[,1] <- paste0(name_col_two[,1], " (", name_col_two[,2], ")") highchart() %>% hc_title(text = "miRNAs" ,align = "center",verticalAlign = "middle") %>% hc_tooltip(headerFormat ="", pointFormat = "{series.y} {point.percentage:.1f}%")%>% hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,distance = -50 ,style = list(fontWeight = "bold",color = "white", fontSize=16, textOutline = "")), center = c('50%','50%'))) %>% hc_add_series(name_col_two, type = "pie", hcaes(name = Var1, y = Freq), innerSize = "50%") %>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Pie_miRNA_identification") ``` ### miRNA family sizes and total number of miRNA family ```{r} name_family <- gsub("\\D$", "", sRNA_data[,1]) family_table <- table(name_family) name_col_pre <- table(family_table) name_col_num <- as.numeric(names(name_col_pre)) tmp_name <- as.character(min(name_col_num):max(name_col_num)) name_col_pre <- name_col_pre[tmp_name] names(name_col_pre) <- tmp_name name_col_pre[is.na(name_col_pre)] <- 0 name_col_one <- as.data.frame(name_col_pre) name_col_one[,1] <- as.numeric(name_col_one[,1]) highchart() %>% hc_title(text = "miRNA family") %>% hc_add_series(name="miRNA family", name_col_one, type = "column",hcaes(name = Var1, y = Freq))%>% hc_add_theme(hc_theme_google())%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 12)))%>% hc_exporting(enabled = TRUE, filename = "total number of miRNA family") ``` ### miRNA family sizes ```{r} family_index <- name_family%in%names(family_table[family_table>1]) family_show <- data.frame('mirna' = name_family[family_index]) family_show %>% count(mirna) %>% hchart('treemap', hcaes(x = 'mirna', value = 'n', color = 'n'))%>% hc_exporting(enabled = TRUE, filename = "miRNA family sizes") ``` Row ------------------------------------- ### Length distribution ```{r} ds <- map(unique(sRNA_data[,12]), function(x){ dt <- density(sRNA_data[,4][sRNA_data[,12] == x])[1:2] dt <- list_parse2(as.data.frame(dt)) list(data = dt, name = x) }) highchart() %>% hc_add_series_list(ds)%>% hc_add_theme(hc_theme_google()) ``` ### Length and distribution of all miRNAs ```{r} ter_len <- data.frame('Ter'=rep(c("5p","3p"), each = nrow(sRNA_data)), "Len" = c(sRNA_data[,8], sRNA_data[,11])) ter_len <- ter_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(ter_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_exporting(enabled = TRUE, filename = "Length distribution") ``` ### Composition of the first base ```{r} mat_char <- data.frame('Type'=rep(c("5p","3p"), each = nrow(sRNA_data)), "Letter" = c(substr(sRNA_data[,7], 1, 1), substr(sRNA_data[,10], 1, 1))) mat_char <- mat_char %>% group_by(Letter, Type) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", borderColor = "", enableMouseTracking = TRUE) ) %>% hc_add_series(mat_char, type = "column", hcaes(x = Type, y = n , group = Letter))%>% hc_add_theme(hc_theme_google()) %>% hc_tooltip(headerFormat ="", pointFormat = "{point.percentage:.1f}%")%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 16)))%>% hc_exporting(enabled = TRUE, filename = "Composition of the first base") ``` PmiREN {data-icon=fa-bar-chart} ===================================== ### Introduction PmiREN (Plant miRNA ENcyclopedia) is a comprehensive functional plant miRNA database. In current version, PmiREN contains 20388 miRNA loci (MIRs) belonging to 5757 families, 1365 clusters, 1668 syntenic blocks and 141327 predicted miRNA-target pairs in 88 species phylogenetically ranging from chlorophytes to angiosperms. In addition, 1537 deeply sequenced small RNA libraries were used in quantification of miRNA expression patterns, and 116 PARE-Seq libraries were employed to validate predicted miRNA-target pairs. PmiREN has many unique features such as annotating miRNAs with an uniform method, solid and extensive information on miRNA synteny, conservation, expression, references, and providing many convenient data accesses, powerful search and download engines. We believe PmiREN is a truly functional knowledgebase and will provide novel insights into plant miRNA research and benefit the whole research community. ### Result Row ------------------------------------- ### Table: Detailed information of pre-miRNAs and miRNAs {.limitrow} ```{r } sRNA_data2 <- read.table("PmiREN.txt", sep = " ", header = T) sRNA_data2[,3] <- paste0("

", sRNA_data2[,3],"

") datatable(data = sRNA_data2, extensions = 'Buttons', options = list(dom = "Blfrtip", buttons = list("copy",list(extend = "collection", buttons = c("csv", "excel"), text = "Download")), lengthMenu = list( c(10, 20, -1), c(10, 20, "All")), pageLength = 10, autoWidth = TRUE), rownames = FALSE, escape = FALSE, class = 'compact nowrap stripe hover')%>% formatStyle(TRUE, `text-align` = 'center') ``` Row ------------------------------------- ### miRNA family sizes and total number of miRNA family ```{r} name_family <- gsub("\\D$", "", sRNA_data2[,1]) family_table <- table(name_family) name_col_pre <- table(family_table) name_col_num <- as.numeric(names(name_col_pre)) tmp_name <- as.character(min(name_col_num):max(name_col_num)) name_col_pre <- name_col_pre[tmp_name] names(name_col_pre) <- tmp_name name_col_pre[is.na(name_col_pre)] <- 0 name_col_one <- as.data.frame(name_col_pre) name_col_one[,1] <- as.numeric(name_col_one[,1]) highchart() %>% hc_title(text = "miRNA family") %>% hc_add_series(name="miRNA family", name_col_one, type = "column",hcaes(name = Var1, y = Freq))%>% hc_add_theme(hc_theme_google())%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 12)))%>% hc_exporting(enabled = TRUE, filename = "total number of miRNA family") ``` ### miRNA family sizes ```{r} family_index <- name_family%in%names(family_table[family_table>1]) family_show <- data.frame('mirna' = name_family[family_index]) family_show %>% count(mirna) %>% hchart('treemap', hcaes(x = 'mirna', value = 'n', color = 'n'))%>% hc_exporting(enabled = TRUE, filename = "miRNA family sizes") ``` ### Categories of miRNA identification ```{r} def_col_two <- rep("Known", nrow(sRNA_data2)) def_col_two[grepl("MIRN", sRNA_data2[,1])] <- "Novel" name_col_two <- as.data.frame(table(def_col_two)) name_col_two[,1] <- paste0(name_col_two[,1], " (", name_col_two[,2], ")") highchart() %>% hc_title(text = "miRNAs" ,align = "center",verticalAlign = "middle") %>% hc_tooltip(headerFormat ="", pointFormat = "{series.y} {point.percentage:.1f}%")%>% hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,distance = -50 ,style = list(fontWeight = "bold",color = "white", fontSize=16, textOutline = "")), center = c('50%','50%'))) %>% hc_add_series(name_col_two, type = "pie", hcaes(name = def_col_two, y = Freq), innerSize = "50%") %>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Pie_miRNA_identification") ``` Row ------------------------------------- ### Length distribution ```{r} ds <- map(unique(def_col_two), function(x){ dt <- density(sRNA_data2[,4][def_col_two == x])[1:2] dt <- list_parse2(as.data.frame(dt)) list(data = dt, name = x) }) highchart() %>% hc_add_series_list(ds)%>% hc_add_theme(hc_theme_google()) ``` ### Length and distribution of all miRNAs ```{r} ter_len <- data.frame('Ter'=rep(c("5p","3p"), each = nrow(sRNA_data2)), "Len" = c(sRNA_data2[,8], sRNA_data2[,11])) ter_len <- ter_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(ter_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_exporting(enabled = TRUE, filename = "Length distribution") ``` ### Length and distribution of mature miRNAs ```{r} mat_len <- data.frame('Ter'=sRNA_data2[,5], "Len" = sRNA_data2[,8]) mat_len <- mat_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(mat_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Length and distribution of mature miRNA") ``` sRNAanno {data-icon=fa-bar-chart} ===================================== ### Introduction Small RNAs (sRNAs) are essential regulatory molecules in plants. The sRNAanno database hosts a large collection of miRNA, phasiRNA- and hc-siRNA-generating loci annotated from ~140 plants using consistent and high-confident criteria. All the annotations are made freely available to the scientific community via various services and tools. ### Result Row ------------------------------------- ### Table: Detailed information of pre-miRNAs and miRNAs {.limitrow} ```{r } sRNA_data3 <- read.table("sRNAanno.txt", sep = " ", header = T) sRNA_data3[,3] <- paste0("

", sRNA_data3[,3],"

") datatable(data = sRNA_data3, extensions = 'Buttons', options = list(dom = "Blfrtip", buttons = list("copy",list(extend = "collection", buttons = c("csv", "excel"), text = "Download")), lengthMenu = list( c(10, 20, -1), c(10, 20, "All")), pageLength = 10, autoWidth = TRUE), rownames = FALSE, escape = FALSE, class = 'compact nowrap stripe hover')%>% formatStyle(TRUE, `text-align` = 'center') ``` Row ------------------------------------- ### miRNA family sizes and total number of miRNA family ```{r} name_col <- t(do.call("cbind", strsplit(sRNA_data3[,1], "-"))) name_col[,1] <- gsub("\\D$", "", name_col[,1] ) colnames(name_col) <- c("mirna", 'Type') name_col_pre <- table(table(name_col[,1])) name_col_num <- as.numeric(names(name_col_pre)) tmp_name <- as.character(min(name_col_num):max(name_col_num)) name_col_pre <- name_col_pre[tmp_name] names(name_col_pre) <- tmp_name name_col_pre[is.na(name_col_pre)] <- 0 name_col_one <- as.data.frame(name_col_pre) name_col_one[,1] <- as.numeric(name_col_one[,1]) highchart() %>% hc_title(text = "miRNA family") %>% hc_add_series(name="miRNA family", name_col_one, type = "column",hcaes(name = Var1, y = Freq))%>% hc_add_theme(hc_theme_google())%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 12)))%>% hc_exporting(enabled = TRUE, filename = "total number of miRNA family") ``` ### miRNA family sizes ```{r} family_index <- name_col[,1]%in%names(table(name_col[,1])[table(name_col[,1])>1]) family_show <- as.data.frame(name_col[family_index, ]) family_show %>% count(mirna) %>% hchart('treemap', hcaes(x = 'mirna', value = 'n', color = 'n'))%>% hc_exporting(enabled = TRUE, filename = "miRNA family sizes") ``` ### Categories of miRNA identification ```{r} name_col_two <- as.data.frame(table(name_col[,2])) name_col_two[,1] <- paste0(name_col_two[,1], " (", name_col_two[,2], ")") highchart() %>% hc_title(text = "miRNAs" ,align = "center",verticalAlign = "middle") %>% hc_tooltip(headerFormat ="", pointFormat = "{series.y} {point.percentage:.1f}%")%>% hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,distance = -50 ,style = list(fontWeight = "bold",color = "white", fontSize=16, textOutline = "")), center = c('50%','50%'))) %>% hc_add_series(name_col_two, type = "pie", hcaes(name = Var1, y = Freq), innerSize = "50%") %>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Pie_miRNA_identification") ``` Row ------------------------------------- ### Length distribution ```{r} ds <- map(unique(name_col[,2]), function(x){ dt <- density(sRNA_data3[,4][name_col[,2] == x])[1:2] dt <- list_parse2(as.data.frame(dt)) list(data = dt, name = x) }) highchart() %>% hc_add_series_list(ds)%>% hc_add_theme(hc_theme_google()) ter_len <- data.frame('Ter'=rep(c("5p","3p"), each = nrow(sRNA_data3)), "Len" = c(sRNA_data3[,8], sRNA_data3[,11])) ter_len <- ter_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(ter_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_exporting(enabled = TRUE, filename = "Length distribution") ``` ### Length and distribution of mature miRNA ```{r} mat_len <- data.frame('Ter'=sRNA_data3[,5], "Len" = sRNA_data3[,8]) mat_len <- mat_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(mat_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Length and distribution of mature miRNA") ``` ### Composition of the first base ```{r} mat_char <- data.frame('Type'=name_col[,2], "Letter" = substr(sRNA_data3[,7], 1, 1)) mat_char <- mat_char %>% group_by(Letter, Type) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", borderColor = "", enableMouseTracking = TRUE) ) %>% hc_add_series(mat_char, type = "column", hcaes(x = Type, y = n , group = Letter))%>% hc_add_theme(hc_theme_google()) %>% hc_tooltip(headerFormat ="", pointFormat = "{point.percentage:.1f}%")%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 16)))%>% hc_exporting(enabled = TRUE, filename = "Composition of the first base") ``` Plant small RNA genes {data-icon=fa-bar-chart} ===================================== ### Introduction Small non-coding RNAs between 20 and 24 nucleotides in length function to regulate gene expression, as well as suppress accumulation of viruses. In plants, there are several distinct types of endogenous small RNAs. MicroRNAs (miRNAs) are produced from single-stranded stem-loop RNA precursors, and function to target mRNAs and long non-coding RNAs for post-transcriptional regulation. In plants most miRNAs are 21 or 22 nucleotides in length. Endogenous short interfering RNAs (siRNAs) arise from double-stranded RNA precursors that are frequently produced by endogenous RNA-dependent RNA polymerases. Some siRNAs are 21 or 22 nucleotides long and can function like miRNAs to post-transcriptionally regulate mRNAs. Many more siRNAs are 24 nts in length, and function to target chromatin-associated non-coding RNAs and reinforce repressive chromatin modifcations. MicroRNAs have been well-annotated in many species, but siRNA locus annotations have lagged. ### Result Row ------------------------------------- ### Table: Detailed information of pre-miRNAs and miRNAs {.limitrow} ```{r } sRNA_data4 <- read.table("PlantsmallRNAgenes.txt", sep = " ", header = T) data_index <- sRNA_data4$Mature_ter!='unmatchedRegion'&sRNA_data4$Length5p<30&sRNA_data4$Length3p<30 sRNA_data4 <- sRNA_data4[data_index, ] sRNA_data4[,3] <- paste0("

", sRNA_data4[,3],"

") datatable(data = sRNA_data4, extensions = 'Buttons', options = list(dom = "Blfrtip", buttons = list("copy",list(extend = "collection", buttons = c("csv", "excel"), text = "Download")), lengthMenu = list( c(10, 20, -1), c(10, 20, "All")), pageLength = 10, autoWidth = TRUE), rownames = FALSE, escape = FALSE, class = 'compact nowrap stripe hover')%>% formatStyle(TRUE, `text-align` = 'center') ``` Row ------------------------------------- ### Categories of miRNA identification ```{r} name_col_two <- as.data.frame(table(sRNA_data4$Source)) name_col_two[,1] <- paste0(name_col_two[,1], " (", name_col_two[,2], ")") highchart() %>% hc_title(text = "miRNAs" ,align = "center",verticalAlign = "middle") %>% hc_tooltip(headerFormat ="", pointFormat = "{series.y} {point.percentage:.1f}%")%>% hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,distance = -50 ,style = list(fontWeight = "bold",color = "white", fontSize=16, textOutline = "")), center = c('50%','50%'))) %>% hc_add_series(name_col_two, type = "pie", hcaes(name = Var1, y = Freq), innerSize = "50%") %>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Pie_miRNA_identification") ``` ### Categories of miRNA identification ```{r} name_col_two <- as.data.frame(table(sRNA_data4$Type)) name_col_two[,1] <- paste0(name_col_two[,1], " (", name_col_two[,2], ")") highchart() %>% hc_title(text = "miRNAs" ,align = "center",verticalAlign = "middle") %>% hc_tooltip(headerFormat ="", pointFormat = "{series.y} {point.percentage:.1f}%")%>% hc_plotOptions(pie = list(dataLabels = list(enabled = TRUE,distance = -50 ,style = list(fontWeight = "bold",color = "white", fontSize=16, textOutline = "")), center = c('50%','50%'))) %>% hc_add_series(name_col_two, type = "pie", hcaes(name = Var1, y = Freq), innerSize = "50%") %>% hc_add_theme(hc_theme_google())%>% hc_exporting(enabled = TRUE, filename = "Pie_miRNA_identification") ``` ### miRNA family sizes and total number of miRNA family ```{r} name_family <- gsub("\\D$", "", sRNA_data4$Pre.miRNAs) family_table <- table(name_family) name_col_pre <- table(family_table) name_col_num <- as.numeric(names(name_col_pre)) tmp_name <- as.character(min(name_col_num):max(name_col_num)) name_col_pre <- name_col_pre[tmp_name] names(name_col_pre) <- tmp_name name_col_pre[is.na(name_col_pre)] <- 0 name_col_one <- as.data.frame(name_col_pre) name_col_one[,1] <- as.numeric(name_col_one[,1]) highchart() %>% hc_title(text = "miRNA family") %>% hc_add_series(name="miRNA family", name_col_one, type = "column",hcaes(name = Var1, y = Freq))%>% hc_add_theme(hc_theme_google())%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 12)))%>% hc_exporting(enabled = TRUE, filename = "total number of miRNA family") ``` ### miRNA family sizes ```{r} family_index <- name_family%in%names(family_table[family_table>1]) family_show <- data.frame('mirna' = name_family[family_index]) family_show %>% count(mirna) %>% hchart('treemap', hcaes(x = 'mirna', value = 'n', color = 'n'))%>% hc_exporting(enabled = TRUE, filename = "miRNA family sizes") ``` Row ------------------------------------- ### Length distribution ```{r} ds <- map(unique(sRNA_data4$Source), function(x){ dt <- density(sRNA_data4$pLength[sRNA_data4$Source == x])[1:2] dt <- list_parse2(as.data.frame(dt)) list(data = dt, name = x) }) db <- map(unique(sRNA_data4$Type), function(x){ dt <- density(sRNA_data4$pLength[sRNA_data4$Type == x])[1:2] dt <- list_parse2(as.data.frame(dt)) list(data = dt, name = x) }) highchart() %>% hc_add_series_list(ds)%>% hc_add_series_list(db)%>% hc_add_theme(hc_theme_google()) ``` ### Length and distribution of all miRNAs ```{r} ter_len <- data.frame('Ter'=rep(c("5p","3p"), each = nrow(sRNA_data4)), "Len" = c(sRNA_data4$Length5p, sRNA_data4$Length3p)) ter_len <- ter_len %>% group_by(Len, Ter) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", enableMouseTracking = TRUE) ) %>% hc_add_series(ter_len, type = "column", hcaes(x = Len, y = n , group = Ter))%>% hc_exporting(enabled = TRUE, filename = "Length distribution") ``` ### Composition of the first base ```{r} firstbase <- apply(sRNA_data4, 1, function(x){ if(x[5] == "5p"){ return(substr(x[8], 1, 1)) }else{ return(substr(x[11], 1, 1)) } }) mat_char <- data.frame('Type'=rep(c(sRNA_data4$Source, sRNA_data4$Type)), "Letter" = c(firstbase, firstbase)) mat_char <- mat_char %>% group_by(Letter, Type) %>% summarise(n = n()) highchart() %>% hc_plotOptions(column = list( dataLabels = list(enabled = FALSE), stacking = "normal", borderColor = "", enableMouseTracking = TRUE) ) %>% hc_add_series(mat_char, type = "column", hcaes(x = Type, y = n , group = Letter))%>% hc_add_theme(hc_theme_google()) %>% hc_tooltip(headerFormat ="", pointFormat = "{point.percentage:.1f}%")%>% hc_xAxis(type = "category", labels = list(style = list(fontSize = 16)))%>% hc_exporting(enabled = TRUE, filename = "Composition of the first base") ```